knitr::opts_chunk$set(message = FALSE)
knitr::opts_chunk$set(warning = FALSE)
# Packages to use
library(tidyverse)      # for data manipulation and graphics
library(patchwork)      # Multiple plot layouts
load(file = "SYandSiteData.RData")
df_sum <- function(df) {
  df <- df %>% 
  select(-site) %>% 
  group_by(season_length) %>%
  summarise_each(sum)
}

SYData_1_1_1_sum <- df_sum(SYData_1_1_1)
SYData_1_1_1_0.96_sum <- df_sum(SYData_1_1_1_0.96)
SYData_1_1_1_0.6_sum <- df_sum(SYData_1_1_1_0.6)
SYData_1_2_3_sum <- df_sum(SYData_1_2_3)
SYData_1_2_3_0.96_sum <- df_sum(SYData_1_2_3_0.96)
SYData_1_2_3_0.6_sum <- df_sum(SYData_1_2_3_0.6)
SYData_1_3_5_sum <- df_sum(SYData_1_3_5)
#JK# Table 1
#JK# Get max MSY value row from each simulation
SYData_1_1_1_max <- SYData_1_1_1_sum %>% 
  slice_max(MSY)

SYData_1_2_3_max <- SYData_1_2_3_sum %>% 
  slice_max(MSY)
#JK# Get second MSY value for 1:2:3 simulation
SYData_1_2_3_max_2 <- SYData_1_2_3_sum %>% 
  filter(season_length == 1608)

SYData_1_3_5_max <- SYData_1_3_5_sum %>% 
  slice_max(MSY)
#JK# Second MSY value for 1:3:5 simulation
SYData_1_3_5_max_2 <- SYData_1_3_5_sum %>% 
  filter(season_length == 2040)

#JK# Bind rows together to create a dataframe
SYData_df <- rbind.data.frame(SYData_1_1_1_max, SYData_1_2_3_max_2, SYData_1_2_3_max,
                              SYData_1_3_5_max, SYData_1_3_5_max_2)
#JK# Calculate CPUE for each simulation
SYData_df <- SYData_df %>% 
  mutate(CPUE_MSY = MSY/Emsy)

#JK# Create Table 1
X = as.data.frame(list(Nmsy=SYData_df$Nmsy,Emsy=SYData_df$Emsy, MSY=SYData_df$MSY,            
                       CPUE_MSY=SYData_df$CPUE_MSY))

row.names(X)=c("1:1:1", "1:2:3 Low", "1:2:3 High", "1:3:5 Low", "1:3:5 High")
knitr::kable(X, 
             caption = "Table 1. Optimal effort estimates.")

#JK# Table 2
SYData_1_1_1_0.96_max <- SYData_1_1_1_0.96_sum %>% 
  slice_max(MSY)

SYData_1_1_1_0.6_max <- SYData_1_1_1_0.6_sum %>%
  slice_max(MSY)

SYData_1_2_3_0.96_max <- SYData_1_2_3_0.96_sum %>% 
  slice_max(MSY)

SYData_1_2_3_0.6_max <- SYData_1_2_3_0.6_sum %>% 
  slice_max(MSY)


SYData_df2 <- rbind.data.frame(SYData_1_1_1_max, SYData_1_1_1_0.96_max, SYData_1_1_1_0.6_max,
                               SYData_1_2_3_max, SYData_1_2_3_0.96_max, SYData_1_2_3_0.6_max)

#JK# Calculate CPUE for each simulation
SYData_df2 <- SYData_df2 %>% 
  mutate(CPUE_MSY = MSY/Emsy)

#JK# Create Table 1
X = as.data.frame(list(Nmsy=SYData_df2$Nmsy,Emsy=SYData_df2$Emsy, MSY=SYData_df2$MSY,            
                       CPUE_MSY=SYData_df2$CPUE_MSY))

row.names(X)=c("1:1:1 1.2,1.2,1.2", "1:1:1 0.96,1.2,1.44", "1:1:1 0.6,1.2,1.8", 
               "1:2:3 1.2,1.2,1.2", "1:2:3 0.96,1.2,1.44", "1:2:3 0.6,1.2,1.8")
knitr::kable(X, 
             caption = "Table 2. Optimal effort estimates.")
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpgYGB7ciBoaWRlX3dhcm5pbmdfbWVzc2FnZXN9DQprbml0cjo6b3B0c19jaHVuayRzZXQobWVzc2FnZSA9IEZBTFNFKQ0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KHdhcm5pbmcgPSBGQUxTRSkNCmBgYA0KDQoNCmBgYHtyIHBhY2thZ2VzfQ0KIyBQYWNrYWdlcyB0byB1c2UNCmxpYnJhcnkodGlkeXZlcnNlKSAgICAgICMgZm9yIGRhdGEgbWFuaXB1bGF0aW9uIGFuZCBncmFwaGljcw0KbGlicmFyeShwYXRjaHdvcmspICAgICAgIyBNdWx0aXBsZSBwbG90IGxheW91dHMNCmBgYA0KDQoNCmBgYHtyIGxvYWRfZGF0YX0NCmxvYWQoZmlsZSA9ICJTWWFuZFNpdGVEYXRhLlJEYXRhIikNCmBgYA0KDQpgYGB7ciBkYXRhX21hbmlwfQ0KZGZfc3VtIDwtIGZ1bmN0aW9uKGRmKSB7DQogIGRmIDwtIGRmICU+JSANCiAgc2VsZWN0KC1zaXRlKSAlPiUgDQogIGdyb3VwX2J5KHNlYXNvbl9sZW5ndGgpICU+JQ0KICBzdW1tYXJpc2VfZWFjaChzdW0pDQp9DQoNClNZRGF0YV8xXzFfMV9zdW0gPC0gZGZfc3VtKFNZRGF0YV8xXzFfMSkNClNZRGF0YV8xXzFfMV8wLjk2X3N1bSA8LSBkZl9zdW0oU1lEYXRhXzFfMV8xXzAuOTYpDQpTWURhdGFfMV8xXzFfMC42X3N1bSA8LSBkZl9zdW0oU1lEYXRhXzFfMV8xXzAuNikNClNZRGF0YV8xXzJfM19zdW0gPC0gZGZfc3VtKFNZRGF0YV8xXzJfMykNClNZRGF0YV8xXzJfM18wLjk2X3N1bSA8LSBkZl9zdW0oU1lEYXRhXzFfMl8zXzAuOTYpDQpTWURhdGFfMV8yXzNfMC42X3N1bSA8LSBkZl9zdW0oU1lEYXRhXzFfMl8zXzAuNikNClNZRGF0YV8xXzNfNV9zdW0gPC0gZGZfc3VtKFNZRGF0YV8xXzNfNSkNCmBgYA0KDQpgYGB7ciBUYWJsZXN9DQojSksjIFRhYmxlIDENCiNKSyMgR2V0IG1heCBNU1kgdmFsdWUgcm93IGZyb20gZWFjaCBzaW11bGF0aW9uDQpTWURhdGFfMV8xXzFfbWF4IDwtIFNZRGF0YV8xXzFfMV9zdW0gJT4lIA0KICBzbGljZV9tYXgoTVNZKQ0KDQpTWURhdGFfMV8yXzNfbWF4IDwtIFNZRGF0YV8xXzJfM19zdW0gJT4lIA0KICBzbGljZV9tYXgoTVNZKQ0KI0pLIyBHZXQgc2Vjb25kIE1TWSB2YWx1ZSBmb3IgMToyOjMgc2ltdWxhdGlvbg0KU1lEYXRhXzFfMl8zX21heF8yIDwtIFNZRGF0YV8xXzJfM19zdW0gJT4lIA0KICBmaWx0ZXIoc2Vhc29uX2xlbmd0aCA9PSAxNjA4KQ0KDQpTWURhdGFfMV8zXzVfbWF4IDwtIFNZRGF0YV8xXzNfNV9zdW0gJT4lIA0KICBzbGljZV9tYXgoTVNZKQ0KI0pLIyBTZWNvbmQgTVNZIHZhbHVlIGZvciAxOjM6NSBzaW11bGF0aW9uDQpTWURhdGFfMV8zXzVfbWF4XzIgPC0gU1lEYXRhXzFfM181X3N1bSAlPiUgDQogIGZpbHRlcihzZWFzb25fbGVuZ3RoID09IDIwNDApDQoNCiNKSyMgQmluZCByb3dzIHRvZ2V0aGVyIHRvIGNyZWF0ZSBhIGRhdGFmcmFtZQ0KU1lEYXRhX2RmIDwtIHJiaW5kLmRhdGEuZnJhbWUoU1lEYXRhXzFfMV8xX21heCwgU1lEYXRhXzFfMl8zX21heF8yLCBTWURhdGFfMV8yXzNfbWF4LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1lEYXRhXzFfM181X21heCwgU1lEYXRhXzFfM181X21heF8yKQ0KI0pLIyBDYWxjdWxhdGUgQ1BVRSBmb3IgZWFjaCBzaW11bGF0aW9uDQpTWURhdGFfZGYgPC0gU1lEYXRhX2RmICU+JSANCiAgbXV0YXRlKENQVUVfTVNZID0gTVNZL0Vtc3kpDQoNCiNKSyMgQ3JlYXRlIFRhYmxlIDENClggPSBhcy5kYXRhLmZyYW1lKGxpc3QoTm1zeT1TWURhdGFfZGYkTm1zeSxFbXN5PVNZRGF0YV9kZiRFbXN5LCBNU1k9U1lEYXRhX2RmJE1TWSwgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgQ1BVRV9NU1k9U1lEYXRhX2RmJENQVUVfTVNZKSkNCg0Kcm93Lm5hbWVzKFgpPWMoIjE6MToxIiwgIjE6MjozIExvdyIsICIxOjI6MyBIaWdoIiwgIjE6Mzo1IExvdyIsICIxOjM6NSBIaWdoIikNCmtuaXRyOjprYWJsZShYLCANCiAgICAgICAgICAgICBjYXB0aW9uID0gIlRhYmxlIDEuIE9wdGltYWwgZWZmb3J0IGVzdGltYXRlcy4iKQ0KDQojSksjIFRhYmxlIDINClNZRGF0YV8xXzFfMV8wLjk2X21heCA8LSBTWURhdGFfMV8xXzFfMC45Nl9zdW0gJT4lIA0KICBzbGljZV9tYXgoTVNZKQ0KDQpTWURhdGFfMV8xXzFfMC42X21heCA8LSBTWURhdGFfMV8xXzFfMC42X3N1bSAlPiUNCiAgc2xpY2VfbWF4KE1TWSkNCg0KU1lEYXRhXzFfMl8zXzAuOTZfbWF4IDwtIFNZRGF0YV8xXzJfM18wLjk2X3N1bSAlPiUgDQogIHNsaWNlX21heChNU1kpDQoNClNZRGF0YV8xXzJfM18wLjZfbWF4IDwtIFNZRGF0YV8xXzJfM18wLjZfc3VtICU+JSANCiAgc2xpY2VfbWF4KE1TWSkNCg0KDQpTWURhdGFfZGYyIDwtIHJiaW5kLmRhdGEuZnJhbWUoU1lEYXRhXzFfMV8xX21heCwgU1lEYXRhXzFfMV8xXzAuOTZfbWF4LCBTWURhdGFfMV8xXzFfMC42X21heCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTWURhdGFfMV8yXzNfbWF4LCBTWURhdGFfMV8yXzNfMC45Nl9tYXgsIFNZRGF0YV8xXzJfM18wLjZfbWF4KQ0KDQojSksjIENhbGN1bGF0ZSBDUFVFIGZvciBlYWNoIHNpbXVsYXRpb24NClNZRGF0YV9kZjIgPC0gU1lEYXRhX2RmMiAlPiUgDQogIG11dGF0ZShDUFVFX01TWSA9IE1TWS9FbXN5KQ0KDQojSksjIENyZWF0ZSBUYWJsZSAxDQpYID0gYXMuZGF0YS5mcmFtZShsaXN0KE5tc3k9U1lEYXRhX2RmMiRObXN5LEVtc3k9U1lEYXRhX2RmMiRFbXN5LCBNU1k9U1lEYXRhX2RmMiRNU1ksICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgIENQVUVfTVNZPVNZRGF0YV9kZjIkQ1BVRV9NU1kpKQ0KDQpyb3cubmFtZXMoWCk9YygiMToxOjEgMS4yLDEuMiwxLjIiLCAiMToxOjEgMC45NiwxLjIsMS40NCIsICIxOjE6MSAwLjYsMS4yLDEuOCIsIA0KICAgICAgICAgICAgICAgIjE6MjozIDEuMiwxLjIsMS4yIiwgIjE6MjozIDAuOTYsMS4yLDEuNDQiLCAiMToyOjMgMC42LDEuMiwxLjgiKQ0Ka25pdHI6OmthYmxlKFgsIA0KICAgICAgICAgICAgIGNhcHRpb24gPSAiVGFibGUgMi4gT3B0aW1hbCBlZmZvcnQgZXN0aW1hdGVzLiIpDQpgYGANCg==